home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Saint Tail Phantom Thief Screensaver
/
Saint Tail Phantom Thief Screen Saver.iso
/
pc
/
setup
/
setup.mst
< prev
next >
Wrap
Text File
|
1996-08-15
|
9KB
|
327 lines
'**************************************************************************
'* KShop Engine Install Script
'* Copyright (C) 1996 Impress Corporation
'* All rights reserved.
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST CUSTINST = 6200
CONST TOOBIG = 6300
CONST BADPATH = 6400
CONST BILLBOARD = 4545
''Bitmap ID
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL WINDIR$
GLOBAL CUIDLL$
DECLARE SUB Install
DECLARE SUB CalcSpace
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION MakePath2 (szDir$, szFile$) AS STRING
DECLARE FUNCTION BitmapCntrlInit LIB "mscuistf.dll" as INTEGER
DIM E$(5)
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "âZâCâôâgâeü[âï Setup"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
END IF
ReadInfFile szInf$
OPTCUR$ = "1"
DEST$ = MID$(GetWindowsDir, 1, 1) + ":\SAINT"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows âhâëâCâu ('"+WinDrive$+"') é═üAû│î°é╚âhâëâCâué┼é╖üB", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTION
END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO GETPATH
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
''Disk cost list symbols
EXTRACOSTS$ = "ExtraCosts"
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
CalcSpace
Install
ks$ = "Screen Saver.âZâCâôâgâeü[âï"
IF OPTCUR$ = "1" THEN
FULL$ = ""
ELSE
FULL$ = "F"
ENDIF
E$(1) = "âuâëâCâôâhâÅâCâv"
E$(2) = "âEâBâôâNâÅâCâv"
E$(3) = "èKÆiÅ≤âÅâCâv"
E$(4) = "âXâNâìü[âï"
E$(5) = "âXâ^âôâ_ü[âh"
ini$ = MakePath(WINDIR$, "KSHOP2.INI")
CreateIniKeyValue ini$, ks$, "é¿é▄é⌐é╣âéü[âh", "1", cmoNone
CreateIniKeyValue ini$, ks$, "âpâXâÅü[âhò█î∞", "0", cmoNone
CreateIniKeyValue ini$, ks$, "æ╥é┐Ä₧è╘", "0", cmoNone
CreateIniKeyValue ini$, ks$, "É╪æ╓ÉFé¬ìò", "1", cmoNone
CreateIniKeyValue ini$, ks$, "âëâôâ_âÇò\Ī", "0", cmoNone
CreateIniKeyValue ini$, ks$, "ï╚Éö", "4", cmoNone
CreateIniKeyValue ini$, ks$, "ï╚1", DEST$ + "\WAV\"+"MUSIC1.WAV,ë╣èyéP", cmoNone
CreateIniKeyValue ini$, ks$, "ï╚2", DEST$ + "\WAV\"+"MUSIC2.WAV,ë╣èyéQ", cmoNone
CreateIniKeyValue ini$, ks$, "ï╚3", DEST$ + "\WAV\"+"MUSIC3.WAV,ë╣èyéR", cmoNone
CreateIniKeyValue ini$, ks$, "ï╚4", DEST$ + "\WAV\"+"MUSIC4.WAV,ë╣èyéS", cmoNone
CreateIniKeyValue ini$, ks$, "éaéfélâZâîâNâg", "1", cmoNone
CreateIniKeyValue ini$, ks$, "ë╣ù╩", "3", cmoNone
CreateIniKeyValue ini$, ks$, "æìÉö", "37", cmoNone
IF OPTCUR$ = "1" THEN
PRE$ = "256_"
ELSE
PRE$ = "FULL_"
ENDIF
FOR i% = 1 TO 39 STEP 1
J% = I% mod 5
IF J% = 0 THEN
J% = 5
END IF
A$ = STR$(i%)
IF LEN(A$) = 2 THEN
B$ = "0" + MID$(A$, 2, 1)
C$ = MID$(A$, 2, 1)
ELSE
B$ = MID$(A$, 2, 2)
C$ = B$
ENDIF
CreateIniKeyValue ini$, ks$, "ægé▌ìçéφé╣" + C$, DEST$ + "\BITMAP\" + PRE$ + B$ + ".BMP" + "," + E$(J%), cmoNone
NEXT i%
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("âZâbâgâAâbâvé╠âtâ@âCâïé¬öjæ╣é╡é─éóé▄é╖", "âZâbâgâAâbâv âüâbâZü[âW", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateDir DEST$, cmoNone
WINDIR$ = GetWindowsDir()
AddSectionFilesToCopyList "WINDOWS", SrcDir$, WINDIR$
IF OPTCUR$ = "1" THEN
AddSectionFilesToCopyList "BITMAP_256COLOR", SrcDir$, DEST$ + "\BITMAP\"
ELSE
AddSectionFilesToCopyList "BITMAP_FULLCOLOR", SrcDir$, DEST$ + "\BITMAP\"
END IF
AddSectionFilesToCopyList "WAV", SrcDir$, DEST$ + "\WAV\"
i% = BitmapCntrlInit()
SetCopyGaugePosition 140, 120
CopyFilesInCopyList
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = MakePath2(szDir$, szFile$)
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
'**
'** Purpose:
'** If ending "\" is a tailbyte of a DBCS character, append a "\"
'** to the end of the file name.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath2 (szDir$, szFile$) STATIC AS STRING
IF IsDBCSChar(szDir$, LEN(szDir$)) = 2 THEN
MakePath2 = szDir$ + "\" + szFile$
ELSE
MakePath2 = szDir$ + szFile$
END IF
END FUNCTION
SUB CalcSpace STATIC
CursorSave% = ShowWaitCursor()
ClearCopyList
SrcDir$ = GetSymbolValue("STF_SRCDIR")
WINDIR$ = GetWindowsDir()
AddSectionFilesToCopyList "WINDOWS", SrcDir$, WINDIR$
IF OPTCUR$ = "1" THEN
AddSectionFilesToCopyList "BITMAP_256COLOR", SrcDir$, DEST$ + "\BITMAP\"
ELSE
AddSectionFilesToCopyList "BITMAP_FULLCOLOR", SrcDir$, DEST$ + "\BITMAP\"
ENDIF
AddSectionFilesToCopyList "WAV", SrcDir$, DEST$ + "\WAV\"
ListSym$ = "0"
StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
cost& = 0
FOR i% = 1 TO 26 STEP 1
cost& = cost& + VAL(GetListItem(ListSym$, i%))
NEXT i%
drive$ = MID$(DEST$, 1, 1)
free& = GetFreeSpaceForDrive(drive$)
ClearCopyList
RestoreCursor CursorSave%
IF (free& < cost&) THEN
i% = DoMsgBox(drive$ + "âhâëâCâué╠ùeù╩é¬æ½éΦé▄é╣é±üi" + STR$(free& / 1024) + " KâoâCâgüjüBâZâCâôâgâeü[âïé≡âCâôâXâgü[âïé╖éΘé╔é═üA" + STR$(cost& / 1024) + " KâoâCâgé╠ï≤é½ùeù╩é¬òKùvé┼é╖üB" , "ï≤é½ùeù╩é╠òsæ½", MB_OK)
UIPop 1
RETURN
ENDIF
END SUB
TOOBIG: